﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PEAnalyzer.ModeView.PEInfoPage
{
    class HeaderValueModeView : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;

        string m_strName;
        ulong m_ulValue;
        string m_strStructName;

        public HeaderValueModeView(string Name, ulong ulValue, string StructName)
        {
            m_strName = Name;
            m_ulValue = ulValue;
            m_strStructName = StructName;
        }

        public string Name
        {
            get => m_strName;
            set
            {
                m_strName = value;
                this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Name"));
            }
        }

        public ulong Value
        {
            get => m_ulValue;
            set
            {
                m_ulValue = value;
                this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Value"));
            }
        }

        public string StructName
        {
            get => m_strStructName;
            set
            {
                m_strStructName = value;
                this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("StructName"));
            }
        }
    }
}
